package com.bienvenue.main.utils;

import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.StateListDrawable;

/**
 * 　　　　　　　 ┏┓       ┏┓+ +
 * 　　　　　　　┏┛┻━━━━━━━┛┻┓ + +
 * 　　　　　　　┃　　　　　　 ┃
 * 　　　　　　　┃　　　━　　　┃ ++ + + +
 * 　　　　　　 █████━█████  ┃+
 * 　　　　　　　┃　　　　　　 ┃ +
 * 　　　　　　　┃　　　┻　　　┃
 * 　　　　　　　┃　　　　　　 ┃ + +
 * 　　　　　　　┗━━┓　　　 ┏━┛
 * ┃　　  ┃
 * 　　　　　　　　　┃　　  ┃ + + + +
 * 　　　　　　　　　┃　　　┃　Code is far away from     bug with the animal protecting
 * 　　　　　　　　　┃　　　┃ + 　　　　         神兽保佑,代码无bug
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃　　+
 * 　　　　　　　　　┃　 　 ┗━━━┓ + +
 * 　　　　　　　　　┃ 　　　　　┣┓
 * 　　　　　　　　　┃ 　　　　　┏┛
 * 　　　　　　　　　┗┓┓┏━━━┳┓┏┛ + + + +
 * 　　　　　　　　　 ┃┫┫　 ┃┫┫
 * 　　　　　　　　　 ┗┻┛　 ┗┻┛+ + + +
 * 版权：陇朝赢科技有限公司 版权所有
 *
 * @author 18592
 * 版本：1.0
 * 创建日期：2020/10/12
 * 描述：dp转换适配器
 * ClassName：DrawableUtil
 * PackageName:com.bienvenue.main.utils
 */
public class DrawableUtil {
    /**
     * 用java代码的方式动态生成选择器
     */
    public static Drawable getPressedSelector(int enabledColor,int normalColor,int pressedColor,int radius){
        Drawable  enable=createShape(enabledColor,radius);
        Drawable pressed=createShape(pressedColor,radius);
        Drawable normal=createShape(normalColor,radius);
        StateListDrawable  drawable=new StateListDrawable();
        drawable.addState(new int[]{android.R.attr.state_pressed},pressed);
        drawable.addState(new int[]{android.R.attr.state_enabled},normal);
        drawable.addState(new int[]{},enable);
        //设置状态选择器过度动画/渐变选择器/渐变动画
//        drawable.setEnterFadeDuration(500);
//        drawable.setExitFadeDuration(500);
        return drawable;
    }
    public static GradientDrawable createShape(int color, int radius){
        GradientDrawable gradientDrawable=new GradientDrawable();
        gradientDrawable.setCornerRadius(radius);
        gradientDrawable.setColor(color);
        return gradientDrawable;
    }
}
